var cutDown = 60;
var header = getApp().request("header");
var requestUrl = getApp().request("url"); 
var authSession = getApp().request("authSession"); 
var app = getApp().globalData;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    headImgUrl:"",
    phoneInput:"",
    yzm:"",
    codeTxt:"获取验证码",
    btnGetCodeTxt:false,
    boxInfor:false,
    option:""
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var avatarUrl = app.avatarUrl;
    this.setData({
      headImgUrl: avatarUrl,
      option: options.url
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  
  phoneInput(e){
    var value=e.detail.value;
    this.setData({
      phoneInput: value
    })
  },
  codeInput(e) {
    var value = e.detail.value;
    this.setData({
      yzm: value
    })
  },
  //帐号登录
  btnAccountLogin(){
    if (!this.data.boxInfor) {
      this.setData({
        boxInfor: true
      })
    }else{
      var phone = this.data.phoneInput;
      var yzm = this.data.yzm;
      if (!phone) {
        getApp().showModal("请输入您的手机号！")
        return;
      } else if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))) {
        getApp().showModal("请输入正确的手机号！")
        return;
      } else if (!yzm){
        getApp().showModal("请输入短信验证码！")
        return;
      } else if (!(/\d{6}$/.test(yzm))) {
        getApp().showModal("短信验证码格式有误！")
        return;
      }
      wx.showLoading({
        title: '',
        mask:true
      });
      //请求提交登录
      wx.request({
        url: requestUrl + 'loginByPhone',
        method: "POST",
        data: { userId: app.session_key.userId, salt: app.session_key.salt, phone: phone, sms: yzm },
        header: header,
        success: (res) => {
          console.log(res)
          if (res.statusCode != 200) {
            getApp().showModal("服务器异常");
            return
          }
          wx.hideLoading()
          if (res.data.code == 200) {
            //登录成功跳转首页
            var option = this.data.option;
            wx.navigateBack({
              url: "../"+option+"/"+option,
              delta:1
            })
          } else if (res.data.code == 201) {
            getApp().showModal("您已经绑定过手机号！");
          } else if (res.data.code == 202) {
            getApp().showModal("该手机号已被其他人绑定，请更换手机号！");
          } else if (res.data.code == 203) {
            getApp().showModal("手机号码注册失败！");
          } else if (res.data.code == 401) {
            getApp().showModal("请输入正确的手机号！");
          } else if (res.data.code == 402 || res.data.code == 301 || res.data.code == 302) {
            console.log(res.data.code)
            getApp().showModal("系统信息有误，请重试！");
          } else if (res.data.code == 303) {
            getApp().showModal("您输入的手机号码前后不一致！");
          } else if (res.data.code == 304) {
            getApp().showModal("验证码错误，请重新输入！");
          } else if (res.data.code == 800) {
            getApp().showModal(res.data.data.msg);
            wx.hideLoading();
          }
        },
        fail:(fai)=>{
            console.log(fai);
            console.log("帐号登录fail");
            wx.hideLoading();
            getApp().showModal("网络超时，请检查您的网络");
        }
      });
    }
  },
  //获取短信验证码
  btnGetCode(){
    var that=this;
    var phone = this.data.phoneInput;
    if (this.data.btnGetCodeTxt) {
      return;
    }
    if (!phone) {
      getApp().showModal("请输入您的手机号！")
      return;
    }else if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))){
      getApp().showModal("请输入正确的手机号！")
      return;
    };
    wx.showLoading({
      title: '',
      mask: true
    })
    //请求验证码
    wx.request({
      url: requestUrl + 'sms',
      method: "POST",
      data: { userId: app.session_key.userId, salt: app.session_key.salt, phone: phone },
      header: header,
      success: (res) => {
        console.log(res)
        if (res.statusCode != 200) {
          getApp().showModal("服务器异常");
          return
        }
        wx.hideLoading();
        if (res.data.code == 200) {
          that.cutTime();
          wx.showToast({
            title: '短信已发送',
            icon:"success",
            duration:1500
          })
        } else if (res.data.code == 201) {
          getApp().showModal("您已经绑定过手机号！");
        } else if (res.data.code == 202) {
          getApp().showModal("该手机号已被其他人绑定，请更换手机号！");
        } else if (res.data.code == 401) {
          getApp().showModal("请输入正确的手机号！");
        } else if (res.data.code == 402 || res.data.code == 301 || res.data.code == 302) {
          console.log(res.data.code)
          getApp().showModal("系统信息有误，请重试！");
        } else if (res.data.code == 303) {
          getApp().showModal("请在60秒之后点击获取！");
        } else if (res.data.code == 304) {
          getApp().showModal("短信系统有误，请重试！");
        } else if (res.data.code == 800) {
          getApp().showModal(res.data.data.msg);
          wx.hideLoading();
        }
      },
      fail: (fai) => {
        console.log(fai);
        console.log("请求验证码fail");
        wx.hideLoading();
        getApp().showModal("网络超时，请检查您的网络");
      }
    });  
  },
  cutTime(){
    var that=this;
    if (cutDown==0){
      this.setData({
        codeTxt: "获取验证码",
        btnGetCodeTxt: false
      })
      cutDown=60;
      return
    }else{
      this.setData({
        codeTxt: "倒计时" + cutDown+"S",
        btnGetCodeTxt:true
      })
      cutDown--;
    }
    setTimeout(function () { that.cutTime()},1000)
  },
  //快速登录
  btnFastLogin(e){
    console.log(e);
    var errMsg = e.detail.errMsg;
    var ok=new RegExp("ok");
    if (errMsg =="getPhoneNumber:ok"){  //允许获取手机号登录
      var encryptedData = e.detail.encryptedData;
      var iv = e.detail.iv;
      //请求解析微信绑定手机号码
      wx.showLoading({
        title: '',
        mask: true
      })
      wx.request({
        url: requestUrl + 'loginByEncryptedData',
        method: "POST",
        data: { userId: app.session_key.userId, salt: app.session_key.salt, encryptedData: encryptedData, iv: iv },
        header: header,
        success: (res) => {
          console.log(res)
          if (res.statusCode != 200) {
            getApp().showModal("服务器异常");
            return
          }
          wx.hideLoading();
          if (res.data.code == 200) {
            //登录成功跳转首页
            var option = this.data.option;
            wx.navigateBack({
              url: "../" + option + "/" + option,
              delta:1
            })
          } else if (res.data.code == 201) {
            getApp().showModal("您已经绑定过手机号！");
          } else if (res.data.code == 202) {
            getApp().showModal("该手机号已被其他人绑定，请更换手机号！");
          } else if (res.data.code == 203) {
            getApp().showModal("手机号码注册失败！");
          } else if (res.data.code == 401) {
            getApp().showModal("手机号码格式有误！");
          } else if (res.data.code == 402 || res.data.code == 301 || res.data.code == 302) {
            console.log(res.data.code)
            getApp().showModal("系统信息有误，请重试！");
          } else if (res.data.code == 303) {
            //getApp().showModal("手机号码解密错误，请重试！");
            wx.login({
              success:function(log){
                console.log(log.code);
                if (log.code){
                  wx.request({
                    url: authSession + 'updateSessionKey',
                    method: "POST",
                    data: { code: log.code},
                    header: header,
                    success:function(res){
                       console.log(res);
                       if (res.data.code==200){
                         getApp().showModal("请重试");
                       } else if (res.data.code == 401) {
                         console.log("提交信息有误");
                       } else if (res.data.code == 301) {
                         console.log("小程序code接口无返回");
                       } else if (res.data.code == 302) {
                         console.log("小程序openid无记录");
                       } else if (res.data.code == 303) {
                         console.log("更新异常");
                       }
                    },
                    fail:function(fail){
                       console.log(fail)
                    }
                  })
                }
              }
            })
          } else if (res.data.code == 304) {
            getApp().showModal("手机号码不存在，请重试！");
          } else if (res.data.code == 800) {
            getApp().showModal(res.data.data.msg);
            wx.hideLoading();
          }
        },
        fail: (fai) => {
          console.log(fai);
          console.log("快速登录失败fail");
          wx.hideLoading();
          getApp().showModal("网络超时，请检查您的网络");
        }
      });  
    }else{
      console.log("不允许快速获取手机号登录")
    }
  }
})